import request from '@/config/axios'

export interface Parameters {
  // 接口传参
  parametersId?: number
  parametersName?: string
  sort?: number // 排序
  parametersList: ParametersItem[]
}
interface ParametersItem {
  name: string //参数名称
  value: string //参数值
  sort: number //排序
}

// 获得 Parameters 列表
export const getParametersPage = (params: PageParam) => {
  return request.get({ url: '/product/spu/page', params })
}

// 创建商品 Parameters
export const createParameters = (data: Parameters) => {
  return request.post({ url: '/product/spu/create', data })
}

// 更新商品 Parameters
export const updateParameters = (data: Parameters) => {
  return request.put({ url: '/product/spu/update', data })
}

// 更新商品 Parameters status
export const updateStatus = (data: { spuId: number; status: number }) => {
  return request.put({ url: '/product/spu/update-status', data })
}

// 获得商品 Parameters
export const getParameters = (spuId: number) => {
  return request.get({ url: `/product/spu/get-detail?spuId=${spuId}` })
}

// 获得商品 Parameters 详情列表
export const getParametersDetailList = (ids: number[]) => {
  return request.get({ url: `/product/spu/list?spuIds=${ids}` })
}

// 删除商品 Parameters
export const deleteParameters = (spuId: number) => {
  return request.delete({ url: `/product/spu/delete?spuId=${spuId}` })
}

// 导出商品 Parameters Excel
export const exportParameters = async (params) => {
  return await request.download({ url: '/product/spu/export', params })
}

// 获得商品 SPU 精简列表
export const getParametersSimpleList = async () => {
  return request.get({ url: '/product/spu/list-all-simple' })
}
